In principle this can be 5/3p'd to save instructions. Let's see it fellas